Integrated circuits, such as application specific integrated circuits (ASICs), are often provided with mechanisms for gathering alarms by a microprocessor connected to the ICs. It is common that an IC is provided with circuitry which monitors alarm points in the IC and generates alarm signals when a predetermined condition exists at an alarm point. A microprocessor connected to the IC performs appropriate processing in response to the alarm signals.
Differences in real-time behaviour of alarm points in an IC requires different firmware algorithms for a microprocessor to detect alarm signals and validate monitored alarm points. Some alarm points require interrupt-based algorithms and some require poll-based algorithms. These requirements are based on the characteristics of each alarm point and the corresponding effects on a system in which the IC is used.
The characteristics of each alarm point are not easily identified until the system has been integrated. Especially for an ASIC, such characteristics may not be well understood when the ASIC is being designed. Thus, it is difficult to determine the best firmware algorithm for a given alarm point prior to having working hardware in the system. If the alarm generating mechanism designed in a specific IC does not work well with the characteristics of the alarm points after integrating the IC in the system, a recycle of the IC may be required.
Canadian patent application No. 2,137,507 published on Jun. 10, 1995 discloses an interrupt controller for an ASIC having a number of system modules. One of the modules is an interrupt controller which can receive a number of interrupt signals. Each signal is programmably enabled pursuant to writing data to the respective interrupt registers, assigned a priority, and grouped into one of priority groupings. However, it does not address the problems between different algorithms used by the system to gather alarm signals.
It is therefore desirable to have a flexible alarm interface that can be implemented on an IC and can be used by firmware to implement different algorithms, such as interrupt-based and poll-based algorithms or a combination of these algorithms, for detection and validation of alarm points in the IC.